#include "src/Mensajes.h"
#include "src/GenericException.h"
#include <iostream>
#include "src/Debug.h"
#include <map>
#include <sstream>
#include <signal.h>

#define PUERTO_NAVAL 43210

#include "src/ProcesoPrincipal.h"

int main(int argc, char** argv){

	signal(SIGINT, SIG_IGN);
	signal(SIGTERM, SIG_IGN);

	if(argc > 1){
		std::cout << "Guardando archivo de log en " << argv[1] << "\n";
		std::dbg.setArchivo(argv[1]);
	}

	std::dbg.setEcho(1);

	{Lock l(std::dbg);
		std::dbg << "Inicio del servidor.\n";}
	
	try{

		//Proceso principal, se queda escuchando y
		//respondiendo a los clientes

		ProcesoPrincipal procesoPrincipal;
		procesoPrincipal.run();

	}
	catch(GenericException e){
		Lock l(std::dbg);
		std::dbg << "Excepcion: " << e.what() << "\n";
	}

	return 0;
}

